package com.xuecheng.content.service;

import com.xuecheng.commons.model.dto.CourseAuditDto;
import com.xuecheng.commons.model.dto.CourseBaseDto;
import com.xuecheng.commons.model.dto.CourseDto;
import com.xuecheng.commons.model.dto.PageRequest;
import com.xuecheng.commons.model.vo.ResponseResult;
import com.xuecheng.content.domain.CourseBase;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 课程基本信息 服务类
 * </p>
 *
 * @author itheima
 * @since 2022-09-14
 */
public interface CourseBaseService extends IService<CourseBase> {

    ResponseResult findByPage(PageRequest pageRequest, CourseDto dto);

    //添加课程
    ResponseResult addCourse(CourseBaseDto courseBaseDto);

    //修改课程
    ResponseResult updateCourse(CourseBaseDto courseBaseDto);

    //删除课程
    ResponseResult deleteCourse(Long courseBaseId);

    //提交审核
    ResponseResult commitCourse(Long courseBaseId);

    //同意审核
    ResponseResult approveCourseCommit(CourseAuditDto courseAuditDto);

    //课程下架
    ResponseResult offlineCourse(Long courseId);
}
